AVX2 and AVX512* off by default to prevent frequency scaling#8376
Closed
bosilca wants to merge 3 commits intoopen-mpi:masterfrom
Closed
AVX2 and AVX512* off by default to prevent frequency scaling#8376bosilca wants to merge 3 commits intoopen-mpi:masterfrom
bosilca wants to merge 3 commits intoopen-mpi:masterfrom
Conversation
As discussed in open-mpi#8334 the intensive use of AVX2 and AVX512 will lead to a significant frequency scaling, with drastic impact on application performance. Until a better way to prevent this come up, we decided to artificially disable support for AVX2 and AVX512. The support for AVX2 and AVX512 can be enabled by users via the corresponding MCA parameter (op_avx_support). Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
added 2 commits
February 2, 2021 07:42
…thers not Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
MCA enums make it easier for users to see/set MCA flag values. For example, ompi_output shows all the valid values: ``` $ ompi_info --all --parsable | grep _avx_ mca:op:avx:param:op_avx_available:value:SSE,SSE2,SSE3,SSE4.1,AVX mca:op:avx:param:op_avx_available:source:default mca:op:avx:param:op_avx_available:status:read-only mca:op:avx:param:op_avx_available:level:4 mca:op:avx:param:op_avx_available:help:Level of SSE/MMX/AVX support available mca:op:avx:param:op_avx_available:enumerator:value:1:SSE mca:op:avx:param:op_avx_available:enumerator:value:2:SSE2 mca:op:avx:param:op_avx_available:enumerator:value:4:SSE3 mca:op:avx:param:op_avx_available:enumerator:value:8:SSE4.1 mca:op:avx:param:op_avx_available:enumerator:value:16:AVX mca:op:avx:param:op_avx_available:enumerator:value:32:AVX2 mca:op:avx:param:op_avx_available:enumerator:value:256:AVX512F mca:op:avx:param:op_avx_available:enumerator:value:512:AVX512BW mca:op:avx:param:op_avx_available:deprecated:no mca:op:avx:param:op_avx_available:type:int mca:op:avx:param:op_avx_available:disabled:false mca:op:avx:param:op_avx_support:value:SSE,SSE2,SSE3,SSE4.1,AVX mca:op:avx:param:op_avx_support:source:default mca:op:avx:param:op_avx_support:status:writeable mca:op:avx:param:op_avx_support:level:4 mca:op:avx:param:op_avx_support:help:Level of SSE/MMX/AVX support to be used, capped by the local architecture capabilities mca:op:avx:param:op_avx_support:enumerator:value:1:SSE mca:op:avx:param:op_avx_support:enumerator:value:2:SSE2 mca:op:avx:param:op_avx_support:enumerator:value:4:SSE3 mca:op:avx:param:op_avx_support:enumerator:value:8:SSE4.1 mca:op:avx:param:op_avx_support:enumerator:value:16:AVX mca:op:avx:param:op_avx_support:enumerator:value:32:AVX2 mca:op:avx:param:op_avx_support:enumerator:value:256:AVX512F mca:op:avx:param:op_avx_support:enumerator:value:512:AVX512BW mca:op:avx:param:op_avx_support:deprecated:no mca:op:avx:param:op_avx_support:type:int mca:op:avx:param:op_avx_support:disabled:false ``` Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
Member
|
@bosilca I pushed two additional commits; let's talk through these today on the call. |
Member
Author
|
Based on the fact that we were unable to get a good understanding on when and what to restrict, we decided to close this PR without merging, leaving the AVX support on everywhere. @jsquyres commits adding the available and supported flags, and the user-friendly use of the MCA enum flags will have their own PR. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
As discussed in #8334 the intensive use of AVX2 and AVX512 will lead to a
significant frequency scaling, with drastic impact on application performance.
Until a better way to prevent this come up, we decided to artificially disable
support for AVX2 and AVX512.
The support for AVX2 and AVX512 can be enabled by users via the corresponding
MCA parameter (op_avx_support).
Signed-off-by: George Bosilca bosilca@icl.utk.edu